package Q4;
/*
 使用 List 集合实现简易的学生信息管理系统，要求打印字符界面提示用户选择相应的功能，
 根据用户输入的选择去实现增加、删除、修改、查找以及遍历所有学生信息的功能。
**/

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        System.out.println("欢迎使用学生信息管理系统");
        method sys = new method();
        Scanner sc = new Scanner(System.in);
        label:
        while(true){
            System.out.println("请问需要使用什么功能？");
            System.out.println("A.增加学生 B. 删除已有学生 C.修改已有学生信息 D.查找已有学生信息 E.遍历所有学生信息 F.退出系统");
            String choice = sc.nextLine().toUpperCase();
            switch (choice) {
                case "A": {
                    System.out.println("请根据提示输入想要增加的学生信息");
                    System.out.println("请输入想要增加的学生学号");
                    String id = sc.nextLine();
                    System.out.println("请输入想要增加的学生姓名");
                    String name = sc.nextLine();
                    System.out.println("请输入想要增加的学生年龄");
                    while (true) {
                        int age = sc.nextInt();
                        if (age < 110 && age > 0) {
                            student new_std = new student(id, name, age);
                            sys.addStd(new_std);
                            break;
                        } else {
                            System.out.println("请输入正确的学生年龄");
                        }
                    }
                    break;
                }
                case "B": {
                    System.out.println("请输入想要删除的学生学号");
                    String id = sc.nextLine();
                    sys.deleteStd(id);
                    break;
                }
                case "C":
                    label1:
                    while (true) {
                        System.out.println("请输入想要修改的学生学号:");
                        System.out.println("如果要退出修改功能请输入'Q'");
                        String id = sc.nextLine();
                        if (id.toLowerCase().equals("q")) {
                            break;
                        } else {
                            System.out.println("请选择想要修改的学生信息:");
                            System.out.println("A.学生ID  B.学生姓名  C.学生年龄  D.退出修改功能");
                            String choiceM = sc.nextLine().toUpperCase();
                            switch (choiceM) {
                                case "A":
                                    System.out.println("请选择想要修改后的学生ID:");
                                    String newID = sc.nextLine();
                                    sys.modifyStd(id, choiceM, newID);
                                    break;
                                case "B":
                                    System.out.println("请选择想要修改后的学生姓名:");
                                    String newName = sc.nextLine();
                                    sys.modifyStd(id, choiceM, newName);
                                    break;
                                case "C":
                                    System.out.println("请选择想要修改后的学生年龄:");
                                    int newAge = sc.nextInt();
                                    sys.modifyStd(id, choiceM, newAge);
                                    break;
                                case "D":
                                    break label1;
                                default:
                                    System.out.println("请输入正确的选项");
                                    break;
                            }
                        }
                    }
                    break;
                case "D": {
                    System.out.println("请输入想要查找的学生学号");
                    String id = sc.nextLine();
                    sys.searchStd(id);
                    break;
                }
                case "E":
                    System.out.println("" + sys);
                    break;
                case "F":
                    break label;
                default:
                    System.out.println("请输入正确的选项");
                    break;
            }
            }

    }
    }
